#pragma once

namespace Gdf
{
	class ClientWindow;


	class ClientRoot : public GdfSingleton<ClientRoot>, public Gdf::GdfFrameListener
	{
		void ClientRoot::Test();

	public:
		ClientRoot(HINSTANCE& hInstance);
		~ClientRoot();

		bool Initialize();
		bool Release();
		int StartClientRendering();

		void SetEndClient();

		//Gdf::GdfFrameListener
		virtual void PreUpdateFrame(const float32 frameTime);
		virtual void PostUpdateFrame(const float32 frameTime);

	private:
		HINSTANCE mhInstance;
		GdfRoot* mGdfRoot;
		ClientWindow* mClientWindow;
	};
}